/* Copyright (c) 2004-2024 peigen.info. All rights reserved. */

package info.peigen.hotpot.common.service.base.gateway;

import info.peigen.hotpot.common.core.result.ListResult;
import info.peigen.hotpot.common.core.result.SingleResult;
import info.peigen.hotpot.common.service.base.Facade;

/**
 * <b>(GatewayFacade)</b>
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2021/4/9
 */
@SuppressWarnings({"unused", "rawtypes"})
public interface GatewayFacade extends Facade {

    /**
     * 渠道编号
     *
     * @return String
     */
    String channelCode();


    /**
     * 单笔调用
     *
     * @param requestBase 请求
     * @param result      响应
     */
    void callForSingleGateway(AbstractGatewayRequest requestBase, SingleResult result);

    /**
     * 批量调用
     *
     * @param requestBase 请求
     * @param result      响应
     */
    void callForBatchGateway(AbstractGatewayRequest requestBase, ListResult result);
}